feat(runtime): add plugin platform foundation - #3729
Conversation
aee5735 to
d399570
Compare
Generated-by: Codex
d399570 to
71803a2
Compare
Astro-Han
left a comment
There was a problem hiding this comment.
I reviewed this head and found blocking issues.
[P2] Install rollback can silently fail while the new package appears committed
plugin-package-store.ts:193 reports persistence_failed when both new target and .previous-* exist, but recovery later deletes the old package and confirms the new executable. Must report commit_outcome_unknown and fence until the directory is durable.
[P2] Fence check is outside the serialized queue
Two same-tick mutations both pass #assertMutable() before the fence is set; the second queued mutation still executes and overwrites the ambiguous state. Must re-check inside the serialized callback.
[P2] Output size checked after commit
Desired tree size (512 KiB) is only checked on return. A store within the 2 MiB input limit can accumulate entries that make apply/query responses exceed the limit after commit, leaving the commit durable but the caller with internal_failure.
[P3] Foundation without concrete consumer
~4.7k lines introduce client/UI/config APIs with no consumer yet; many helpers are unused. Consider delivering as minimal vertical slices rather than a large foundation.
Checks on 71803a267d are not green due to local-only surface enumeration mismatch — not green.
简体中文
存在三项持久化/并发/输出阻断与一项熵增观察。Generated-by: Codex
Summary
Architecture
This is based on the Fiber-owned Context lifecycle model merged in #3479:
Verification
@maka/core,@maka/storage,@maka/runtime, and@maka/runtime-hostbuilds passedregistration.jsonrace failed under parallel execution and passed immediately in isolated rerun (1/1)git diff --check, and Windows test inventory passed